package DataStructure.array;

/**
 * 26. 删除有序数组中的重复项 https://leetcode.cn/problems/remove-duplicates-from-sorted-array/
 * 题目简述：原地删除一个升序数组中的重复元素并整理，最后返回新数组长度
 */
public class RemoveDuplicates {

    /**
     * 思路：指针i扫描，指针j指向已确定的数组末尾，每扫描到一个和当前末尾不同的元素则将其复制到j增1的位置，最后j+1即为新数组长度
     */
    public int removeDuplicates(int[] nums) {
        int i=1,j=0;
        for(;i < nums.length;i++) {
            if(nums[i] != nums[j]) {
                nums[++j] = nums[i];
            }
        }
        return j+1;
    }
}
